/**
  1. 通过class定义类/实现类的继承
  2. 在类中通过constructor定义构造方法
  3. 通过new来创建类的实例
  4. 通过extends来实现类的继承
  5. 通过super调用父类的构造方法
  6. 重写从父类中继承的一般方法
 */

 class Person {
    //调用类的构造方法
    constructor(name, age) {
      this.name = name
      this.age = age
    }
    //定义一般的方法
    showName() {
      console.log(this.name, this.age)
    }
 }

 let person = new Person('limi', 31)
 console.log(person, person.showName()) //person.showName()没有返回值，所有这里打印undefined

 //定义一个子类
 class SubPerson extends Person{
   constructor(name, age, salary) {
    super(name, age) //调用父类的构造方法
    this.salary = salary
   }
   //在子类中定义自身的方法
   showName() {
     console.log(this.name, this.age, this.salary)
   }
 }
let subPerson = new SubPerson('hamey', 30, 6000)
console.log(subPerson)
subPerson.showName()
